-
Notifications
You must be signed in to change notification settings - Fork 10.7k
[IMP] Sales: Invoicing policy page rewrite #15499
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 17.0
Are you sure you want to change the base?
[IMP] Sales: Invoicing policy page rewrite #15499
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @theRealThagomizer - just a few comments, mostly about the app names and the images. Many are optional, so tag me for a quick look before moving on to ZST.Also, there is a build error with one of the images, so just double-check that it works. Thanks!
| Invoicing policy features | ||
| ========================= | ||
|
|
||
| To activate the necessary invoicing policy features, go to :menuselection:`Sales app --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't comment on line 7, but Sales should be Sales, since apps are all bold.
| ========================= | ||
|
|
||
| To activate the necessary invoicing policy features, go to :menuselection:`Sales app --> | ||
| Configuration --> Settings`, and under the :guilabel:`Invoicing` heading, select an |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In lines 10-11, is "materials, liquids, or foods' necessary? Or could it just be "businesses that sell large quantities of items, where the orddered quantity may differ from the delivered quantity."
Just seems odd unless there's a specific reason.
Also, i recommenda dding an example admonition to showcase the reason. Like :
Example: A company sells fresh produce. A customer buys 50 heads of lettuce, but there are only 48 available heads when delivery is made. The customer only received 48, then 2 later. So you can explain that they are invoiced for the 48, and then invoiced separately for the additional 2 after they are received.
Just an idea!
| delivered`. This automatically applies the chosen invoicing policy rule to all newly created | ||
| products. Existing products must have their invoicing policy updated on their product forms. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| delivered`. This automatically applies the chosen invoicing policy rule to all newly created | |
| products. Existing products must have their invoicing policy updated on their product forms. | |
| delivered`. | |
| This automatically applies the chosen invoicing policy rule to all *newly* created | |
| products. *Existing* products **must** have their invoicing policy updated on their product forms. |
Just to emphasize this distinction - this is majorly important. Also, if there is a good place to link the text "updated on their product forms: - I would add that.
| :alt: How to change invoicing policy on a product form on Odoo Sales. | ||
|
|
||
| Impact on sales flow | ||
| ==================== |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line 46 : Sales
| .. warning:: | ||
| If a user attempts to create an invoice without validating the delivered quantity, the following | ||
| error message appears: :guilabel:`There is no invoiceable line. If a product has a Delivered | ||
| quantities invoicing policy, please make sure that a quantity has been delivered.` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
54056 - app names should be bold.
| :alt: How to see delivered and invoiced quantities on Odoo Sales. | ||
|
|
||
| Odoo automatically adds the quantities to the invoice, both :guilabel:`Delivered` and | ||
| :guilabel:`Invoiced`, even if it's a partial delivery, when the quotation is confirmed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seealso is typically just the doc, no intro sentence needed
| :alt: How to see your delivered and invoiced quantities on Odoo Sales. | ||
| :alt: How to see delivered and invoiced quantities on Odoo Sales. | ||
|
|
||
| Odoo automatically adds the quantities to the invoice, both :guilabel:`Delivered` and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you can link to the specific related doc sections for the various create an invoice options: Regular invoice, Down payment (percentage) or Down payment (fixed amount).
| error message appears: :guilabel:`There is no invoiceable line. If a product has a Delivered | ||
| quantities invoicing policy, please make sure that a quantity has been delivered.` | ||
|
|
||
| .. image:: invoicing_policy/invoicing-policy-error-message.png |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find it odd that both the columns display "0"- Is this normal? Wouldn't we want to show a difference, delivered X and ordered Y? Just looks off. Also, remove the arrows.
a72e6d5 to
8d645e6
Compare
|
Hiya, @larm-odoo! I went through your feedback and implemented pretty much everything. The only note that didn't make it was around linking to specific sections in a related doc, since I actually removed the bit that mentioned specific invoicing policies (I figured it was less germane to the overall subject of invoicing delivered vs. ordered quantities.) I also went through the document and rewrote large sections of it and replaced all of the outdated images. It's fairly different from how it was previously, so it could definitely stand another review. Thank you! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @theRealThagomizer - great job with the updates! I had a few more comments and some things that were missed (a bold app name for example). I also had a couple suggestions on the images.
I did think that it could be organized as follows:
Intro (with a link to the two different policy options)
Invoice on Ordered
- Setting it on the form
- Workflow
- example
Invoice on Delivered
- Setting it on the form
- Workflow
- example
Each "-" is a sub-section of the above section. Just an option, would make the doc longer, but you'd have everything for each option in one section, together. But that is a big rearrangement. I didn't think of it till now- sometimes I don't think/see things till after one round of edits, so I apologize. This is just a suggestion and can be ignored.
Whatever route you chose, one more round and we'll be good to go!
| Being able to have different invoicing options provides more flexibility. Different business | ||
| policies might require different options for invoicing. Odoo has too invoicing options to allow | ||
| businesses to make the best choice for their needs: *Invoice what is ordered* and *Invoice what is | ||
| delivered*. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Being able to have different invoicing options provides more flexibility. Different business | |
| policies might require different options for invoicing. Odoo has too invoicing options to allow | |
| businesses to make the best choice for their needs: *Invoice what is ordered* and *Invoice what is | |
| delivered*. | |
| Since businesses follow different policies and workflows, the Odoo **Sales** app offers two different invoicing options to give each company the flexibility to invoice in the way that best fits its needs: | |
| - *Invoice what is ordered*: This is the default option, where customers are invoiced once the sales order is confirmed. | |
| - *Invoice what is delivered*: This option invoices customers once products are delivered. This rule is | |
| often used for businesses that sell large quantities of physical goods in each sales order. In | |
| these cases, the ordered quantity may differ slightly from the delivered quantity based on product | |
| availability. |
I would have the example go beneath and nested in with the example.
This is just a suggestion, to just make them stand out more clearly and get irght into it up front =)
I couldn't edit the lines below for some reason, so just remove everything after the above, until the example.
| A produce distributor using the invoice what is delivered rule sells 50 heads of lettuce to a | ||
| restaurant. At the time the delivery is made, only 48 heads are available. The restaurant is | ||
| invoiced for the 48 heads that are delivered, and later receives a second invoice for the | ||
| remaining 2 heads when the distributor is able to complete the order. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A produce distributor using the invoice what is delivered rule sells 50 heads of lettuce to a | |
| restaurant. At the time the delivery is made, only 48 heads are available. The restaurant is | |
| invoiced for the 48 heads that are delivered, and later receives a second invoice for the | |
| remaining 2 heads when the distributor is able to complete the order. | |
| A produce distributor using the *invoice what is delivered* rule sells 50 heads of lettuce to a | |
| restaurant. At the time the delivery is made, only 48 heads are available. The restaurant is | |
| invoiced for the 48 heads that are delivered, and later receives a second invoice for the | |
| remaining two heads when the distributor is able to complete the order. |
I beieve we write out numbers under ten (maybe twenty)? Also, is this a "rule" or an "option"? Just want to be sure the right word is used. I didn't think of this yesterday!
| To activate the necessary invoicing policy features, go to :menuselection:`Sales app --> | ||
| Configuration --> Settings`, and under the :guilabel:`Invoicing` heading, select an | ||
| :guilabel:`Invoicing Policy` rule: :guilabel:`Invoice what is ordered` or :guilabel:`Invoice what is | ||
| delivered`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again - I think this is an "option" rather than a "rule". I only say this, since in Payroll, there are rules, which work a specific way, as opposed to options you select. So the wording is important - if this is a "rule" or an "option". From looking at it, I THINK its an option - but you can check with the developers or osmeone with more knoelwdge of sales, if it is in fact a "rule".
If we didn't have "rules" in the database that affect my app scopoe, I woudlnt' even have htought about this =D
| Activating an invoicing policy rule automatically applies the chosen policy rule to all newly | ||
| created products. Any existing products **must** have their invoicing policy manually updated on | ||
| their product forms. Additionally, if the :guilabel:`Invoice what is delivered` rule is chosen, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Activating an invoicing policy rule automatically applies the chosen policy rule to all newly | |
| created products. Any existing products **must** have their invoicing policy manually updated on | |
| their product forms. Additionally, if the :guilabel:`Invoice what is delivered` rule is chosen, | |
| Activating an invoicing policy rule automatically applies the chosen policy rule to all newly | |
| created products. | |
| Any existing products **must** have their invoicing policy manually updated on | |
| their product forms. Additionally, if the :guilabel:`Invoice what is delivered` rule is chosen, |
Just more visual emphasis
| In Odoo *Sales*, the basic sales flow starts with the creation of a quotation. Then, that quotation | ||
| is sent to a customer. Next, it needs to be confirmed, which turns the quotation into a sales order. | ||
| This, in turn, creates an invoice. | ||
| In Odoo *Sales*, the basic sales flow starts with the creation of a quotation that is sent to a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| In Odoo *Sales*, the basic sales flow starts with the creation of a quotation that is sent to a | |
| In Odoo **Sales**, the basic sales flow starts with the creation of a quotation that is sent to a |
| needs to be manually entered on the sales order. Alternatively, the **Inventory** app can be | ||
| installed and used to confirm the delivered quantity before creating an invoice. | ||
|
|
||
| .. warning:: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the warning is only referencing the second bullet point, I woudl have this nexted under that bullet point (just indent it 2 spaces each line)
| :alt: How to see your delivered and invoiced quantities on Odoo Sales. | ||
| Once a quotation is confirmed, and the status changes from :guilabel:`Quotation sent` to | ||
| :guilabel:`Sales order`, the delivered and invoiced quantities are available to view, directly from | ||
| the sales order. This is true for both invoicing policy rule options. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again, check if this is a rule or just an option.
|
|
||
| Odoo automatically adds the quantities to the invoice, both :guilabel:`Delivered` and | ||
| :guilabel:`Invoiced`, even if it's a partial delivery, when the quotation is confirmed. | ||
| .. image:: invoicing_policy/invoicing-policy-order-lines.png |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see "Invoiced quantity" as zero. Wouldn't we want to see this as 12?
Also, for this example. it might be good ot see delivered "8", ordered "12" and "invoiced 8" to see what you'd expect to see. Also, I woudl move this below, so there is no tet beneath it - then the image will match all the text above. I try to ensure images are at the end of a section fo text, with nothing beneath it - so people don't think they are done with whatever the steps are. Kind of like a hard stop, "This is whta it looks like if you did everything right" (Of course, for all the important steps in between, I woudl addd more, but in general, if only one image is needed, I ususally put it at the end, amnd make sure all the info in the text above is what is sohwn, which is why I suggest aving osmehting in the "invoices" section)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
8d645e6 to
bf3262d
Compare
|
Hi, @larm-odoo! This is ready for another look. The invoicing policy page has been more or less completely rewritten at this point using the outline you suggested as a guide. Let me know what you think! Thank you! |
larm-odoo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
EXCELLENT rework, @theRealThagomizer! I am approving now, since most of the comments are small nitpicks/improvements. The only necessary changes are to rename the subheads so there are no italics. Approving, because you got this!
content/applications/sales/sales/invoicing/invoicing_policy.rst
Outdated
Show resolved
Hide resolved
content/applications/sales/sales/invoicing/invoicing_policy.rst
Outdated
Show resolved
Hide resolved
| If a user attempts to create an invoice without validating the delivered quantity, the following | ||
| error message appears: :guilabel:`There is no invoiceable line. If a product has a Delivered | ||
| quantities invoicing policy, please make sure that a quantity has been delivered.` | ||
| Using *On order* invoicing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't believe we want to use any italics in a heading/sub-heading. You can change this to just "Workflow" or "Invoice ordered quantity workflow".
content/applications/sales/sales/invoicing/invoicing_policy.rst
Outdated
Show resolved
Hide resolved
content/applications/sales/sales/invoicing/invoicing_policy.rst
Outdated
Show resolved
Hide resolved
| Odoo automatically adds the quantities to the invoice, both :guilabel:`Delivered` and | ||
| :guilabel:`Invoiced`, even if it's a partial delivery, when the quotation is confirmed. | ||
| This invoicing policy has a minor impact on the sales flow because the delivered quantity of a | ||
| product needs to be manually entered on the sales order. Alternatively, the **Inventory** app can be |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| product needs to be manually entered on the sales order. Alternatively, the **Inventory** app can be | |
| product needs to be manually entered on the sales order. | |
| Alternatively, the **Inventory** app can be |
I think this can be a Tip - so if I understand correctly, if they have the Inventory app, they don't really need to update the quantities- it is updated automatically when delivered? I'd elaborate that, just so people know,. It sound slike a tip because if they have Inventory, there's less to do/it's more automated? Disregard if I am incorrect!
content/applications/sales/sales/invoicing/invoicing_policy.rst
Outdated
Show resolved
Hide resolved
| .. image:: invoicing_policy/invoicing-policy-order-lines.png | ||
| :alt: How to see delivered and invoiced quantities on Odoo Sales. | ||
|
|
||
| Using *On delivery* invoicing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use the same concept as the previous "use case" section - whatever you decide!
content/applications/sales/sales/invoicing/invoicing_policy.rst
Outdated
Show resolved
Hide resolved
Co-authored-by: Lara Martini <larm@odoo.com>
0aee4b5 to
8cd7f04
Compare
|
Thanks for everything, @larm-odoo! @StraubCreative, this is ready for your review. Thanks! |


Hi, Lara! I hope you and your family have/had a wonderful holiday weekend. I've got a super minor PR here that adds a sentence clarifying how the nature of the Invoicing Policy setting works, per this task: https://www.odoo.com/odoo/action-4043/3705841. I also cleaned up the the align:center tags while I was in there. I'm anticipating some merge conflicts further down the line this one, since I think both Megan and I have worked on the invoicing policy page in the past few weeks. Thank you!
This 17.0 PR can be FWP up to master.